LinuxQMISDK-Lite  SLQS04.00.22
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions

Go to the source code of this file.

Data Structures

struct  _litefw_FirmwareInfo_
 
struct  _litefw_FirmwarePartNo_
 
struct  _litefw_FirmwareFileInfo
 

Macros

#define IMG_MASK_MDM   (1<<0)
 
#define IMG_MASK_PRI   (1<<1)
 
#define IMG_MASK_CLEAR   (0x000)
 
#define IMG_MASK_GENERIC   (0xFFFF)
 
#define LITEFW_CARRIER_PACKAGE_SKU   "9999999"
 
#define LITEFW_SKU_STRING_LENGTH   7
 
#define FIRMWARE_INFO_STRING_SIZE   20
 
#define NULL_TERMINATOR_CHAR_SIZE   1
 
#define FIRMWARE_IMAGE_SIZE_MAX   512
 
#define FIRMWARE_BCHVERSTRSIZE   84
 
#define FIRMWARE_BCHDATESIZE   8
 
#define MAX_IMAGE_PRODUCT_LENGTH   10
 
#define libSDP_GetVersion   litefw_GetVersion
 
#define libSDP_CalculateImageMask   litefw_CalculateImageMask
 
#define libSDP_getFileType   litefw_getFileType
 
#define libSDP_ExtractFirmwareParametersByPath   litefw_ExtractFirmwareParametersByPath
 
#define libSDP_GetModelFamily   litefw_GetModelFamily
 
#define libSDP_CheckValidFirmwareInfo   litefw_CheckValidFirmwareInfo
 
#define libSDP_BuildImagesPreferenceRequest   litefw_BuildImagesPreferenceRequest
 
#define libSDP_DownloadFW   litefw_DownloadFW
 
#define libsdp_set_log_func   litefw_set_log_func
 
#define libsdp_SetReadBlockSize   litefw_SetReadBlockSize
 
#define LIBSDP_CARRIER_PACKAGE_SKU   LITEFW_CARRIER_PACKAGE_SKU
 
#define LIBSDP_SKU_STRING_LENGTH   LITEFW_SKU_STRING_LENGTH
 

Typedefs

typedef struct
_litefw_FirmwareInfo_ 
litefw_FirmwareInfo
 
typedef struct
_litefw_FirmwarePartNo_ 
litefw_FirmwarePartNo
 
typedef struct
_litefw_FirmwareFileInfo 
litefw_FirmwareFileInfo
 
typedef void(* litefwlogger )(uint8_t lvl, const char *buff)
 
typedef litefw_FirmwareInfo libSDP_FirmwareInfo
 
typedef litefwlogger libsdplogger
 

Enumerations

enum  litefw_fwdwl_error_codes {
  eSDP_FWDWL_SUCCESS = 0,
  eSDP_FWDWL_ERR_GENERAL = 100,
  eSDP_FWDWL_ERR_SDK,
  eSDP_FWDWL_ERR_SET_CBK,
  eSDP_FWDWL_ERR_PATH_TOO_LONG,
  eSDP_FWDWL_ERR_PATH_NOT_SPECIFIED,
  eSDP_FWDWL_ERR_FW_UPGRADE,
  eSDP_FWDWL_ERR_INVALID_DEV,
  eSDP_FWDWL_ERR_INVALID_PATH,
  eSDP_FWDWL_ERR_TIMEOUT,
  eSDP_FWDWL_ERR_FAIL,
  eSDP_FWDWL_ERR_PRI_FAIL,
  eSDP_FWDWL_ERR_FW_VERSION_FAIL,
  eSDP_FWDWL_ERR_SDP_TIMEOUT,
  eFIREHOSE_ERR_SECBOOT_INVALID_CERT_CHAIN,
  eSDP_FWDWL_ERR_END
}
 
enum  litefw_Fw_Type {
  eFW_TYPE_MBN_GOBI,
  eFW_TYPE_MBN,
  eFW_TYPE_CWE,
  eFW_TYPE_NVU,
  eFW_TYPE_SPK,
  eFW_TYPE_INVALID,
  eFW_TYPE_CWE_NVU
}
 
enum  litefw_fileimgtype {
  eFILE_TYPE_NONE = 0,
  eFILE_TYPE_CAR_PRI,
  eFILE_TYPE_OEM_PRI,
  eFILE_TYPE_COMPO_PRI
}
 
enum  litefw_imagetype {
  eIMAGE_TYPE_MIN = 0,
  eIMAGE_TYPE_BOOT = eIMAGE_TYPE_MIN,
  eIMAGE_TYPE_APPL,
  eIMAGE_TYPE_AMSS,
  eIMAGE_TYPE_APPS,
  eIMAGE_TYPE_FILE,
  eIMAGE_TYPE_SPKG,
  eIMAGE_TYPE_MODM,
  eIMAGE_TYPE_USER,
  eIMAGE_TYPE_KEYS,
  eIMAGE_TYPE_MAX,
  eIMAGE_TYPE_INVALID = 0xFF,
  eIMAGE_TYPE_ANY = eIMAGE_TYPE_INVALID
}
 
enum  litefw_Models {
  eModel_Unknown =-1,
  eModel_9X15 =0,
  eModel_WP9X15 =1,
  eModel_9X30 =2,
  eModel_9x07 =3,
  eModel_9x06 =4
}
 
enum  litefw_QDL_MODEs {
  eQDL_MODE_Unknown =-1,
  eQDL_MODE_INIT =0,
  eQDL_MODE_TTYUSB =1,
  eQDL_MODE_UART0 =2
}
 
enum  litefw_QDL_FLOW_CONTROLs {
  eQDL_HW_FLOW_Unknown =-1,
  eQDL_HW_FLOW_INIT =0,
  eQDL_HW_FLOW_ENABLE =1,
  eQDL_HW_FLOW_DISABLE =2
}
 

Functions

void litefw_logsenable (int log_en)
 
int litefw_ExtractFirmwareParametersByPath (char *pImagePath, litefw_FirmwareInfo *info)
 
int litefw_ExtractFirmwarePartNoByPath (char *pImagePath, litefw_FirmwarePartNo *partno)
 
int litefw_BuildImagesPreferenceRequest (litefw_FirmwareInfo info, pack_fms_SetImagesPreference_t *pack)
 
int litefw_CalculateImageMask (unpack_fms_SetImagesPreference_t SetPrefRspFromModem)
 
int litefw_getFileType (char *szPath)
 
unsigned int litefw_DownloadFW (char *pImagePath, char *szTTYPath, int iFWImageType, int image_mask, int iModelFamily)
 
int litefw_GetModelFamily (char *pModelString)
 
int litefw_CheckValidFirmwareInfo (litefw_FirmwareInfo info)
 
char * litefw_GetVersion ()
 
int litefw_set_log_func (litefwlogger *func)
 
void litefw_SetReadBlockSize (unsigned long lBlockSize)
 
int litefw_switch_9x07_to_downloadmode (char *szTTYPath)
 
int litefw_switch_to_BootHoldMode (char *szTTYPath)
 
int litefw_SetQTLDownloadMode (int iMode)
 
int litefw_GetQTLDownloadMode ()
 
int litefw_SetQTLHWFlowControl (int iMode)
 
int litefw_GetQTLHWFlowControl ()
 
enum eQCWWANError litefw_SLQSGetFirmwareFileInfo (char *fullFilePath, litefw_FirmwareFileInfo *info, uint8_t *pNumOfItems)
 

Detailed Description

Filename: lite-fw.h

Purpose: Global definitions used inside the SDK

Copyright: © 2016 Sierra Wireless Inc., all rights reserved

Macro Definition Documentation

#define FIRMWARE_BCHDATESIZE   8
#define FIRMWARE_BCHVERSTRSIZE   84
#define FIRMWARE_IMAGE_SIZE_MAX   512
#define FIRMWARE_INFO_STRING_SIZE   20
#define IMG_MASK_CLEAR   (0x000)
#define IMG_MASK_GENERIC   (0xFFFF)
#define IMG_MASK_MDM   (1<<0)
#define IMG_MASK_PRI   (1<<1)
#define libSDP_BuildImagesPreferenceRequest   litefw_BuildImagesPreferenceRequest
#define libSDP_CalculateImageMask   litefw_CalculateImageMask
#define LIBSDP_CARRIER_PACKAGE_SKU   LITEFW_CARRIER_PACKAGE_SKU
#define libSDP_CheckValidFirmwareInfo   litefw_CheckValidFirmwareInfo
#define libSDP_DownloadFW   litefw_DownloadFW
#define libSDP_ExtractFirmwareParametersByPath   litefw_ExtractFirmwareParametersByPath
#define libSDP_getFileType   litefw_getFileType
#define libSDP_GetModelFamily   litefw_GetModelFamily
#define libSDP_GetVersion   litefw_GetVersion
#define libsdp_set_log_func   litefw_set_log_func
#define libsdp_SetReadBlockSize   litefw_SetReadBlockSize
#define LIBSDP_SKU_STRING_LENGTH   LITEFW_SKU_STRING_LENGTH
#define LITEFW_CARRIER_PACKAGE_SKU   "9999999"
#define LITEFW_SKU_STRING_LENGTH   7
#define MAX_IMAGE_PRODUCT_LENGTH   10
#define NULL_TERMINATOR_CHAR_SIZE   1

Typedef Documentation

Name: FirmwareFileInfo

Purpose: provide the details of firmware file

Members: fullPath full path of the file imagemask Bitmask provides type of file : bit0-cwe, bit1-nvu, bit2-spk headerType refer to enum litefw_imagetype imageType refer to enum litefw_fileimgtype modelIdStr device model id partNoStr part number id skuStr sku id packageIdStr cwe sierra package id carrierStr carrier id priVersionStr pri version versionStr firmware version releaseDate release date of the file

This structure contains information of the response parameters associated with a Read Transparent API.

Parameters
szModelid_str
  • Model Name String
szFwversion_str
  • Firmware Version String.
szSku_str
  • SKU String.
szPackageid_str
  • Package ID String.
szCarrier_str
  • Carrier String.
szCarrierPriversion_str
  • Carrier PRI Version String.

This structure contains information of the response parameters associated with a Read Transparent API.

Parameters
szPartno_str
  • Part Number of the provided firmware image
typedef void(* litefwlogger)(uint8_t lvl, const char *buff)

This Custom Log prototype.

Parameters
[in]lvl
  • Log level.
[in]buff
  • Log String.
Returns
none

Enumeration Type Documentation

Enumerator
eFILE_TYPE_NONE 
eFILE_TYPE_CAR_PRI 
eFILE_TYPE_OEM_PRI 
eFILE_TYPE_COMPO_PRI 
Enumerator
eFW_TYPE_MBN_GOBI 
eFW_TYPE_MBN 
eFW_TYPE_CWE 
eFW_TYPE_NVU 
eFW_TYPE_SPK 
eFW_TYPE_INVALID 
eFW_TYPE_CWE_NVU 
Enumerator
eSDP_FWDWL_SUCCESS 
eSDP_FWDWL_ERR_GENERAL 
eSDP_FWDWL_ERR_SDK 
eSDP_FWDWL_ERR_SET_CBK 
eSDP_FWDWL_ERR_PATH_TOO_LONG 
eSDP_FWDWL_ERR_PATH_NOT_SPECIFIED 
eSDP_FWDWL_ERR_FW_UPGRADE 
eSDP_FWDWL_ERR_INVALID_DEV 
eSDP_FWDWL_ERR_INVALID_PATH 
eSDP_FWDWL_ERR_TIMEOUT 
eSDP_FWDWL_ERR_FAIL 
eSDP_FWDWL_ERR_PRI_FAIL 
eSDP_FWDWL_ERR_FW_VERSION_FAIL 
eSDP_FWDWL_ERR_SDP_TIMEOUT 
eFIREHOSE_ERR_SECBOOT_INVALID_CERT_CHAIN 
eSDP_FWDWL_ERR_END 
Enumerator
eIMAGE_TYPE_MIN 
eIMAGE_TYPE_BOOT 
eIMAGE_TYPE_APPL 
eIMAGE_TYPE_AMSS 
eIMAGE_TYPE_APPS 
eIMAGE_TYPE_FILE 
eIMAGE_TYPE_SPKG 
eIMAGE_TYPE_MODM 
eIMAGE_TYPE_USER 
eIMAGE_TYPE_KEYS 
eIMAGE_TYPE_MAX 
eIMAGE_TYPE_INVALID 
eIMAGE_TYPE_ANY 
Enumerator
eModel_Unknown 
eModel_9X15 
eModel_WP9X15 
eModel_9X30 
eModel_9x07 
eModel_9x06 
Enumerator
eQDL_HW_FLOW_Unknown 
eQDL_HW_FLOW_INIT 
eQDL_HW_FLOW_ENABLE 
eQDL_HW_FLOW_DISABLE 
Enumerator
eQDL_MODE_Unknown 
eQDL_MODE_INIT 
eQDL_MODE_TTYUSB 
eQDL_MODE_UART0 

Function Documentation

int litefw_BuildImagesPreferenceRequest ( litefw_FirmwareInfo  info,
pack_fms_SetImagesPreference_t pack 
)

This API Build Image Preference Request Using Firmware Information.

Parameters
[in]info
[out]pack
Returns
0 on success, litefw_fwdwl_error_codes error value otherwise
See Also
See litefw_fwdwl_error_codes for error values
int litefw_CalculateImageMask ( unpack_fms_SetImagesPreference_t  SetPrefRspFromModem)

This API Calculate Image Mask for Firmware Download.

Parameters
[in]SetPrefRspFromModem
Returns
Image Mask
  • IMG_MASK_MDM | IMG_MASK_PRI
int litefw_CheckValidFirmwareInfo ( litefw_FirmwareInfo  info)

This API Check Valid Firmware Information to build Image Prefernce Request.

Parameters
[in]info
Returns
0 on success, -1 error value otherwise
unsigned int litefw_DownloadFW ( char *  pImagePath,
char *  szTTYPath,
int  iFWImageType,
int  image_mask,
int  iModelFamily 
)

This API Download Firmware.

Parameters
[in]pImagePath
  • Firmware Folder Path.
[in]szTTYPath
  • QDL Device Path.
[in]iFWImageType
[in]image_mask
  • Image Mask.
    • IMG_MASK_MDM | IMG_MASK_PRI
[in]iModelFamily
Returns
0 on success, litefw_fwdwl_error_codes error value otherwise
See Also
See litefw_fwdwl_error_codes for error values
int litefw_ExtractFirmwareParametersByPath ( char *  pImagePath,
litefw_FirmwareInfo info 
)

This API Extrace Firmware Parameters From Path.

Parameters
[in]pImagePath
  • Firmware Folder Path.
[out]info
Returns
0 on success, litefw_fwdwl_error_codes error value otherwise
See Also
See litefw_fwdwl_error_codes for error values
int litefw_ExtractFirmwarePartNoByPath ( char *  pImagePath,
litefw_FirmwarePartNo partno 
)

This API Extrace Firmware Part Number From Path.

Parameters
[in]pImagePath
  • Firmware Folder Path.
[out]partno
Returns
0 on success, litefw_fwdwl_error_codes error value otherwise
See Also
See litefw_fwdwl_error_codes for error values
int litefw_getFileType ( char *  szPath)

This API Get File Type By Path

Parameters
[in]szPath
Returns
eFW_TYPE_INVALID on error, litefw_Fw_Type value otherwise
See Also
See litefw_Fw_Type for values
int litefw_GetModelFamily ( char *  pModelString)

This API Get Model Famliy from a model string.

Parameters
[in]pModelString
  • Model String.
Returns
eModel_Unknown on Error, litefw_Models value otherwise
See Also
See litefw_Models for values
int litefw_GetQTLDownloadMode ( )

This API Get QDL port donwload mode.

Returns
eQDL_MODE_Unknown on Error, litefw_QDL_MODEs value otherwise
int litefw_GetQTLHWFlowControl ( )

This API Get QDL port Hardware flow control.

Returns
eQDL_HW_FLOW_Unknown on Error, litefw_QDL_FLOW_CONTROLs value otherwise
char* litefw_GetVersion ( )

This API Get Lib SDP Version.

Returns
Version String
void litefw_logsenable ( int  log_en)

This function enable/disable lite firmware debug logs.

Parameters
[in]log_en
  • Logs enable/disable flag.
int litefw_set_log_func ( litefwlogger func)

This API Set Custom Log function.

Parameters
[in]func
Returns
none
int litefw_SetQTLDownloadMode ( int  iMode)

This API set QDL port donwload mode.

Parameters
[in]iMode
  • QDL Download Mode.
    • litefw_QDL_MODEs
Returns
0 on success, -1 error value otherwise
int litefw_SetQTLHWFlowControl ( int  iMode)

This API Set QDL port Hardware flow control.

Parameters
[in]iMode
  • litefw_QDL_FLOW_CONTROLs
Returns
0 on success, -1 error value otherwise
void litefw_SetReadBlockSize ( unsigned long  lBlockSize)

This API Set Read BlockSize.

Parameters
[in]lBlockSize
  • Firmware Read Block Size.
Returns
none
enum eQCWWANError litefw_SLQSGetFirmwareFileInfo ( char *  fullFilePath,
litefw_FirmwareFileInfo info,
uint8_t *  pNumOfItems 
)

This API Get the firmware information of the provided image

Parameters
[in]fullFilePath
  • file path or directory of the firmware image
[out]info
  • See litefw_FirmwareFileInfo, application should allocate the memory
  • for the struct array, this API will fill in the details in the provided storage
[out]pNumOfItems
  • number of litefw_FirmwareFileInfo
Returns
enum eQCWWANError
int litefw_switch_9x07_to_downloadmode ( char *  szTTYPath)

This API switch 9x07 modem to download mode.

Parameters
[in]szTTYPath
  • QDL Device Path.
Returns
0 on success, -1 error value otherwise
int litefw_switch_to_BootHoldMode ( char *  szTTYPath)

This API switch modem to boot hold modem via QDL port.

Parameters
[in]szTTYPath
  • QDL Device Path.
Returns
0 on success, -1 error value otherwise

Copyright (c) 2011-2015 Sierra Wireless, Inc. All rights reserved